home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / game / misc / hexenportal.lha / HexenPortal / HexenPortal.rexx < prev   
OS/2 REXX Batch file  |  1999-02-22  |  41KB  |  1,238 lines

  1. /* $VER: HexenPortal.rexx 0.4 (1999-02-22) */
  2. options results
  3. call Tags
  4. SELECT
  5. WHEN arg(1)="START" then call Start
  6. WHEN arg(1)="LOAD_1" then call Config("Load","1_")
  7. WHEN arg(1)="SAVE_1" then call Config("Save","1_")
  8. WHEN arg(1)="LOAD_2" then call Config("Load","2_")
  9. WHEN arg(1)="SAVE_2" then call Config("Save","2_")
  10. WHEN arg(1)="LOAD_3" then call Config("Load","3_")
  11. WHEN arg(1)="SAVE_3" then call Config("Save","3_")
  12. WHEN arg(1)="LOADSETTINGS" then call LoadSettings
  13. WHEN arg(1)="SAVESETTINGS" then call SaveSettings
  14. OTHERWISE call Init
  15. end
  16. exit
  17. Init:
  18. address HexenPortal
  19. window ID DOOM TITLE '"HexenPortal v0.4"' COMMAND '"quit"' PORT HexenPortal ATTRS MUIA_Window_ScreenTitle '"HexenPortal 0.4 ©1999 Lorens Johansson Freely Distributable Emailware"'
  20. menu LABEL "HexenPortal"
  21. item COMMAND '"method 'MUIM_Application_AboutMUI' 0"' PORT HexenPortal ATTRS MUIA_Menuitem_Shortcut 'A' LABEL "About MUI"
  22. item ATTRS MUIA_Menuitem_Title '-1'
  23. item COMMAND '"quit"' PORT HexenPortal ATTRS MUIA_Menuitem_Shortcut 'Q' LABEL "Quit"
  24. endmenu
  25. menu LABEL "Settings"
  26. item COMMAND '"method 'MUIM_Application_OpenConfigWindow'"' PORT HexenPortal ATTRS MUIA_Menuitem_Shortcut 'M' LABEL "MUI Settings..."
  27. item ATTRS MUIA_Menuitem_Title '-1'
  28. item COMMAND '"HexenPortal.rexx SAVESETTINGS"' ATTRS MUIA_Menuitem_Shortcut 'S' LABEL "Save Settings"
  29. endmenu
  30. text help '"HexenPortal v0.4 by\nLorens Johansson (http://members.xoom.com/snorslex)\nIf you use this program, you are required to\nEmail the author (SnorsleX@SoftHome.net). Otherwise,\nhow is he supposed to know to keep supporting\nHexenPortal ?!?\n\033rLorens Johansson"' label "\033c\033bHexenPortal v0.4\033n\n\033cLorens Johansson\n\033cFreely Distributable Emailware"
  31. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Hexen (68k),WarpHexen (PPC),VAxen (PPC),Information"
  32. group 
  33. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Main,Settings"
  34. group 
  35. label "\033cThis is made for version: \033b0.37"
  36. group frame ATTRS MUIA_Group_Columns 3 label "Parameters"
  37. space HORIZ
  38. group
  39. group ATTRS MUIA_Group_Columns 8
  40. label "-directgfx"
  41. check ID 1_DIR ATTRS MUIA_CycleChain 1 HELP '"Make use of direct accessing the videomem\non a CyberGraphX/Picasso96 screen.\nIf not enabled, WritePixel#?() will be used."'
  42. label "-fpu"
  43. check ID 1_FPU ATTRS MUIA_CycleChain 1 HELP '"Enable FPU routines.\nYou should use that switch on a 68060 with FPU."'
  44. label "-mmu"
  45. check ID 1_MMU ATTRS MUIA_CycleChain 1 HELP '"Enable MMU hack.\nNeeds a 040/060 with working MMU"'
  46. label "-nodoublebuffer"
  47. check ID 1_NDO ATTRS MUIA_CycleChain 1 HELP '"Disables doublebuffering."'
  48. label "-nojoy"
  49. check ID 1_NJO ATTRS MUIA_CycleChain 1 HELP '"Disables joystick."'
  50. label "-nomouse"
  51. check ID 1_NMO ATTRS MUIA_CycleChain 1 HELP '"Disables mouse."'
  52. label "-nomusic"
  53. check ID 1_NMU ATTRS MUIA_CycleChain 1 HELP '"Disables music."'
  54. label "-nosfx"
  55. check ID 1_NSF ATTRS MUIA_CycleChain 1 HELP '"Disables only sound effects."'
  56. label "-nosound"
  57. check ID 1_NSO ATTRS MUIA_CycleChain 1 HELP '"Disables all sound."'
  58. endgroup
  59. group ATTRS MUIA_Group_Columns 6
  60. label "-amfx"
  61. check ID 1_CAM ATTRS MUIA_CycleChain 1 HELP '"AHI audiomode to use for SFX. A requester will pop up,\nif no mode is given. If this option is omitted,\naudio.device will be used.\nSee below how to change the number of soundchannels."' PORT INLINE,
  62. COMMAND """if %s = 0 then do;
  63. address HexenPortal string ID 1_SAM ATTRS '0x80423661' 1;
  64. end;
  65. else do;
  66. address HexenPortal string ID 1_SAM ATTRS '0x80423661' 0;
  67. end"""
  68. string ID 1_SAM ATTRS MUIA_CycleChain 1
  69. label "-file"
  70. check ID 1_CFI ATTRS MUIA_CycleChain 1 HELP '"Additional WAD file(s)."' PORT INLINE,
  71. COMMAND """if %s = 0 then do;
  72. address HexenPortal popasl ID 1_SFI ATTRS '0x80423661' 1;
  73. end;
  74. else do;
  75. address HexenPortal popasl ID 1_SFI ATTRS '0x80423661' 0;
  76. end"""
  77. popasl ID 1_SFI ATTRS MUIA_CycleChain 1
  78. label "-playdemo"
  79. check ID 1_CPL ATTRS MUIA_CycleChain 1 HELP '"Plays the given demo and exits afterwards."' PORT INLINE,
  80. COMMAND """if %s = 0 then do;
  81. address HexenPortal string ID 1_SPL ATTRS '0x80423661' 1;
  82. end;
  83. else do;
  84. address HexenPortal string ID 1_SPL ATTRS '0x80423661' 0;
  85. end"""
  86. string ID 1_SPL ATTRS MUIA_CycleChain 1
  87. label "-skill"
  88. check ID 1_CSK ATTRS MUIA_CycleChain 1 HELP '"Select a skill and skip loading demos."' PORT INLINE,
  89. COMMAND """if %s = 0 then do;
  90. address HexenPortal string ID 1_SSK ATTRS '0x80423661' 1;
  91. end;
  92. else do;
  93. address HexenPortal string ID 1_SSK ATTRS '0x80423661' 0;
  94. end"""
  95. string ID 1_SSK ATTRS MUIA_CycleChain 1
  96. label "-smgame"
  97. check ID 1_CSM ATTRS MUIA_CycleChain 1 HELP '"Screenmode to use for the game."' PORT INLINE,
  98. COMMAND """if %s = 0 then do;
  99. address HexenPortal string ID 1_SSM ATTRS '0x80423661' 1;
  100. end;
  101. else do;
  102. address HexenPortal string ID 1_SSM ATTRS '0x80423661' 0;
  103. end"""
  104. string ID 1_SSM ATTRS MUIA_CycleChain 1
  105. label "-warp"
  106. check ID 1_CWA ATTRS MUIA_CycleChain 1 HELP '"Warp to the specified map without loading demos."' PORT INLINE,
  107. COMMAND """if %s = 0 then do;
  108. address HexenPortal popslider ID 1_SW1 ATTRS '0x80423661' 1;
  109. address HexenPortal popslider ID 1_SW2 ATTRS '0x80423661' 1;
  110. end;
  111. else do;
  112. address HexenPortal popslider ID 1_SW1 ATTRS '0x80423661' 0;
  113. address HexenPortal popslider ID 1_SW2 ATTRS '0x80423661' 0;
  114. end"""
  115. group ATTRS MUIA_Group_Columns 4
  116. label "Episode"
  117. popslider ID 1_SW1 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 1 MUIA_Slider_Max 3
  118. label "Mission"
  119. popslider ID 1_SW2 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 1 MUIA_Slider_Max 9
  120. endgroup
  121. endgroup
  122. group ATTRS MUIA_Group_Columns 2
  123. label "Additional:"
  124. string ID 1_ADD
  125. endgroup
  126. endgroup
  127. space HORIZ
  128. endgroup
  129. space
  130. group ATTRS MUIA_Group_Columns 2
  131. label "Hexen Path:"
  132. popasl ID 1_PAT ATTRS MUIA_CycleChain 1 HELP '"Select the Hexen executable!"'
  133. endgroup
  134. endgroup 
  135. group 
  136. group frame ATTRS MUIA_Group_Columns 2 label "Hexen.cfg"
  137. button ID 1_FGL ATTRS MUIA_CycleChain 1 command """HexenPortal.rexx LOAD_1""" label "Load Hexen.cfg"
  138. button ID 1_FGS ATTRS MUIA_CycleChain 1 command """HexenPortal.rexx SAVE_1""" label "Save Hexen.cfg"
  139. endgroup
  140. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Misc,Keys,Mouse/Joy,ChatMacros"
  141. group scroll ATTRS MUIA_Group_Columns 2
  142. label "Mouse Sensitivity:"
  143. slider ID 1_1 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 9
  144. label "Sfx Volume:"
  145. slider ID 1_2 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15
  146. label "Music Volume:"
  147. slider ID 1_3 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15
  148. label "Gamma Correct:"
  149. slider ID 1_4 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 4
  150. label "Sound Channels:"
  151. slider ID 1_5 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 16
  152. label "Screen Blocks:"
  153. slider ID 1_6 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 1 MUIA_Slider_Max 6
  154. label "Savedir:"
  155. string ID 1_7 ATTRS MUIA_CycleChain 1
  156. label "Messages On:"
  157. group ATTRS MUIA_Group_Columns 2
  158. check ID 1_8 ATTRS MUIA_CycleChain 1
  159. space HORIZ
  160. endgroup
  161. endgroup
  162. group scroll ATTRS MUIA_Group_Columns 2
  163. label "Key Right:"
  164. poplist ID 1_20 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  165. label "Key Left:"
  166. poplist ID 1_21 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  167. label "Key Up:"
  168. poplist ID 1_22 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  169. label "Key Down:"
  170. poplist ID 1_23 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  171. label "Key Strafe Left:"
  172. poplist ID 1_24 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  173. label "Key Strafe Right:"
  174. poplist ID 1_25 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  175. label "Key Jump:"
  176. poplist ID 1_26 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  177. label "Key Fly Up:"
  178. poplist ID 1_27 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  179. label "Key Fly Down:"
  180. poplist ID 1_28 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  181. label "Key Fly Center:"
  182. poplist ID 1_29 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  183. label "Key Look Up:"
  184. poplist ID 1_30 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  185. label "Key Look Down:"
  186. poplist ID 1_31 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  187. label "Key Look Center:"
  188. poplist ID 1_32 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  189. label "Key Inv Left:"
  190. poplist ID 1_33 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  191. label "Key Inv Right:"
  192. poplist ID 1_34 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  193. label "Key Use Artifact:"
  194. poplist ID 1_35 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  195. label "Key Fire:"
  196. poplist ID 1_36 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  197. label "Key Use:"
  198. poplist ID 1_37 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  199. label "Key Strafe:"
  200. poplist ID 1_38 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  201. label "Key Speed:"
  202. poplist ID 1_39 ATTRS MUIA_CycleChain 1 labels keys_Hexen
  203. endgroup
  204. group scroll ATTRS MUIA_Group_Columns 2
  205. label "Use Mouse:"
  206. check ID 1_60
  207. label "Mouse Fire:"
  208. cycle ID 1_61 ATTRS MUIA_CycleChain 1 labels mousenr
  209. label "Mouse Strafe:"
  210. cycle ID 1_62 ATTRS MUIA_CycleChain 1 labels mousenr
  211. label "Mouse Forward:"
  212. cycle ID 1_63 ATTRS MUIA_CycleChain 1 labels mousenr
  213. label "Mouse Jump:"
  214. cycle ID 1_64 ATTRS MUIA_CycleChain 1 labels mousenr
  215. label "Use Joystick:"
  216. check ID 1_70
  217. label "Joy Fire:"
  218. cycle ID 1_71 ATTRS MUIA_CycleChain 1 labels joynr_Hexen
  219. label "Joy Strafe:"
  220. cycle ID 1_72 ATTRS MUIA_CycleChain 1 labels joynr_Hexen
  221. label "Joy Use:"
  222. cycle ID 1_73 ATTRS MUIA_CycleChain 1 labels joynr_Hexen
  223. label "Joy Speed:"
  224. cycle ID 1_74 ATTRS MUIA_CycleChain 1 labels joynr_Hexen
  225. label "Joy Jump:"
  226. cycle ID 1_75 ATTRS MUIA_CycleChain 1 labels joynr_Hexen
  227. endgroup
  228. group scroll ATTRS MUIA_Group_Columns 2
  229. label "ChatMacro0:"
  230. string ID 1_80 ATTRS MUIA_CycleChain 1
  231. label "ChatMacro1:"
  232. string ID 1_81 ATTRS MUIA_CycleChain 1
  233. label "ChatMacro2:"
  234. string ID 1_82 ATTRS MUIA_CycleChain 1
  235. label "ChatMacro3:"
  236. string ID 1_83 ATTRS MUIA_CycleChain 1
  237. label "ChatMacro4:"
  238. string ID 1_84 ATTRS MUIA_CycleChain 1
  239. label "ChatMacro5:"
  240. string ID 1_85 ATTRS MUIA_CycleChain 1
  241. label "ChatMacro6:"
  242. string ID 1_86 ATTRS MUIA_CycleChain 1
  243. label "ChatMacro7:"
  244. string ID 1_87 ATTRS MUIA_CycleChain 1
  245. label "ChatMacro8:"
  246. string ID 1_88 ATTRS MUIA_CycleChain 1
  247. label "ChatMacro9:"
  248. string ID 1_89 ATTRS MUIA_CycleChain 1
  249. endgroup
  250. endgroup
  251. endgroup 
  252. endgroup
  253. endgroup 
  254. group 
  255. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Main,Settings"
  256. group 
  257. label "\033cThis is made for version: \033b1.2"
  258. group frame label "Parameters"
  259. group ATTRS MUIA_Group_Columns 3
  260. label "-file"
  261. check ID 2_CFI ATTRS MUIA_CycleChain 1 HELP '"Additional WAD file."' PORT INLINE,
  262. COMMAND """if %s = 0 then do;
  263. address HexenPortal popasl ID 2_SFI ATTRS '0x80423661' 1;
  264. end;
  265. else do;
  266. address HexenPortal popasl ID 2_SFI ATTRS '0x80423661' 0;
  267. end"""
  268. popasl ID 2_SFI ATTRS MUIA_CycleChain 1
  269. endgroup
  270. group ATTRS MUIA_Group_Columns 2
  271. label "Additional:"
  272. string ID 2_ADD
  273. endgroup
  274. endgroup
  275. space
  276. group ATTRS MUIA_Group_Columns 2
  277. label "WarpHexen Path:"
  278. popasl ID 2_PAT ATTRS MUIA_CycleChain 1 HELP '"Select the Hexen executable!"'
  279. endgroup
  280. endgroup 
  281. group 
  282. group frame ATTRS MUIA_Group_Columns 2 label "Hexen.cfg"
  283. button ID 2_FGL ATTRS MUIA_CycleChain 1 command """HexenPortal.rexx LOAD_2""" label "Load Hexen.cfg"
  284. button ID 2_FGS ATTRS MUIA_CycleChain 1 command """HexenPortal.rexx SAVE_2""" label "Save Hexen.cfg"
  285. endgroup
  286. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Misc,Keys,ChatMacros"
  287. group scroll ATTRS MUIA_Group_Columns 2
  288. label "Mouse Sensitivity:"
  289. slider ID 2_1 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 9
  290. label "Sfx Volume:"
  291. slider ID 2_2 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15
  292. label "Music Volume:"
  293. slider ID 2_3 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15
  294. label "Gamma Correct:"
  295. slider ID 2_4 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 4
  296. label "Sound Channels:"
  297. slider ID 2_5 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 16
  298. label "Screen Blocks:"
  299. slider ID 2_6 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 3 MUIA_Slider_Max 11
  300. endgroup
  301. group scroll ATTRS MUIA_Group_Columns 2
  302. label "Key Right:"
  303. poplist ID 2_20 ATTRS MUIA_CycleChain 1 labels keys
  304. label "Key Left:"
  305. poplist ID 2_21 ATTRS MUIA_CycleChain 1 labels keys
  306. label "Key Up:"
  307. poplist ID 2_22 ATTRS MUIA_CycleChain 1 labels keys
  308. label "Key Down:"
  309. poplist ID 2_23 ATTRS MUIA_CycleChain 1 labels keys
  310. label "Key Strafe Left:"
  311. poplist ID 2_24 ATTRS MUIA_CycleChain 1 labels keys
  312. label "Key Strafe Right:"
  313. poplist ID 2_25 ATTRS MUIA_CycleChain 1 labels keys
  314. label "Key Jump:"
  315. poplist ID 2_26 ATTRS MUIA_CycleChain 1 labels keys
  316. label "Key Fly Up:"
  317. poplist ID 2_27 ATTRS MUIA_CycleChain 1 labels keys
  318. label "Key Fly Down:"
  319. poplist ID 2_28 ATTRS MUIA_CycleChain 1 labels keys
  320. label "Key Fly Center:"
  321. poplist ID 2_29 ATTRS MUIA_CycleChain 1 labels keys
  322. label "Key Look Up:"
  323. poplist ID 2_30 ATTRS MUIA_CycleChain 1 labels keys
  324. label "Key Look Down:"
  325. poplist ID 2_31 ATTRS MUIA_CycleChain 1 labels keys
  326. label "Key Look Center:"
  327. poplist ID 2_32 ATTRS MUIA_CycleChain 1 labels keys
  328. label "Key Inv Left:"
  329. poplist ID 2_33 ATTRS MUIA_CycleChain 1 labels keys
  330. label "Key Inv Right:"
  331. poplist ID 2_34 ATTRS MUIA_CycleChain 1 labels keys
  332. label "Key Use Artifact:"
  333. poplist ID 2_35 ATTRS MUIA_CycleChain 1 labels keys
  334. label "Key Fire:"
  335. poplist ID 2_36 ATTRS MUIA_CycleChain 1 labels keys
  336. label "Key Use:"
  337. poplist ID 2_37 ATTRS MUIA_CycleChain 1 labels keys
  338. label "Key Strafe:"
  339. poplist ID 2_38 ATTRS MUIA_CycleChain 1 labels keys
  340. label "Key Speed:"
  341. poplist ID 2_39 ATTRS MUIA_CycleChain 1 labels keys
  342. endgroup
  343. group scroll ATTRS MUIA_Group_Columns 2
  344. label "ChatMacro0:"
  345. string ID 2_80 ATTRS MUIA_CycleChain 1
  346. label "ChatMacro1:"
  347. string ID 2_81 ATTRS MUIA_CycleChain 1
  348. label "ChatMacro2:"
  349. string ID 2_82 ATTRS MUIA_CycleChain 1
  350. label "ChatMacro3:"
  351. string ID 2_83 ATTRS MUIA_CycleChain 1
  352. label "ChatMacro4:"
  353. string ID 2_84 ATTRS MUIA_CycleChain 1
  354. label "ChatMacro5:"
  355. string ID 2_85 ATTRS MUIA_CycleChain 1
  356. label "ChatMacro6:"
  357. string ID 2_86 ATTRS MUIA_CycleChain 1
  358. label "ChatMacro7:"
  359. string ID 2_87 ATTRS MUIA_CycleChain 1
  360. label "ChatMacro8:"
  361. string ID 2_88 ATTRS MUIA_CycleChain 1
  362. label "ChatMacro9:"
  363. string ID 2_89 ATTRS MUIA_CycleChain 1
  364. endgroup
  365. endgroup
  366. endgroup 
  367. endgroup
  368. endgroup 
  369. group 
  370. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Main,Settings"
  371. group 
  372. label "\033cThis is made for version: \033b0.6"
  373. group frame ATTRS MUIA_Group_Columns 3 label "Parameters"
  374. space HORIZ
  375. group
  376. group ATTRS MUIA_Group_Columns 8
  377. label "-asl"
  378. check ID 3_ASL ATTRS MUIA_CycleChain 1 HELP '"Use asl requester to select screen mode,\ndefault is PAL|LORES for AGA or 320x200 cgfx mode."'
  379. label "-directcgx"
  380. check ID 3_DIR ATTRS MUIA_CycleChain 1 HELP '"Use fast copy routines instead of writepixel array."'
  381. label "-fps"
  382. check ID 3_FPS ATTRS MUIA_CycleChain 1 HELP '"Shows online fps counter."'
  383. label "-joy"
  384. check ID 3_JOY ATTRS MUIA_CycleChain 1 HELP '"Enables joystick."'
  385. label "-mouse"
  386. check ID 3_MOU ATTRS MUIA_CycleChain 1 HELP '"Turns mouse on."'
  387. label "-music"
  388. check ID 3_MUS ATTRS MUIA_CycleChain 1 HELP '"Enables music."'
  389. label "-nodoublebuffer"
  390. check ID 3_NDO ATTRS MUIA_CycleChain 1 HELP '"Turns off double buffering."'
  391. label "-nosfx"
  392. check ID 3_NSF ATTRS MUIA_CycleChain 1 HELP '"Disables sound fx effects."'
  393. label "-nosound"
  394. check ID 3_NSO ATTRS MUIA_CycleChain 1 HELP '"Disables music and sfx (no sound at all)."'
  395. label "-window"
  396. check ID 3_WIN ATTRS MUIA_CycleChain 1 HELP '"Display results in window on workbench screen.\nWorkbench must have least 15 bit depth.\nDoublebuffering does not work on window.\nWorks also on AGA machines."'
  397. endgroup
  398. group ATTRS MUIA_Group_Columns 6
  399. label "-file"
  400. check ID 3_CFI ATTRS MUIA_CycleChain 1 HELP '"Additional WAD file."' PORT INLINE,
  401. COMMAND """if %s = 0 then do;
  402. address HexenPortal popasl ID 3_SFI ATTRS '0x80423661' 1;
  403. end;
  404. else do;
  405. address HexenPortal popasl ID 3_SFI ATTRS '0x80423661' 0;
  406. end"""
  407. popasl ID 3_SFI ATTRS MUIA_CycleChain 1
  408. label "-lbhack"
  409. check ID 3_CLB ATTRS MUIA_CycleChain 1 HELP '"Should be used like this:\n-lbhack x, where x is number of frames to\nrender in one combination of LockBitMap and UnlockBitMap.\nThis should make the game faster. By default x is 1\n(every frame bitmap is locked and unlocked).\nTry different values here, I bet something like 15 will be best choice.\nThis is a hack (bitmap should not be locked for a long time)\nso use on your own risk. Number of frames to skip should be >= 1."' PORT INLINE,
  410. COMMAND """if %s = 0 then do;
  411. address HexenPortal string ID 3_SLB ATTRS '0x80423661' 1;
  412. end;
  413. else do;
  414. address HexenPortal string ID 3_SLB ATTRS '0x80423661' 0;
  415. end"""
  416. string ID 3_SLB ATTRS MUIA_CycleChain 1
  417. endgroup
  418. group ATTRS MUIA_Group_Columns 2
  419. label "Additional:"
  420. string ID 3_ADD
  421. endgroup
  422. endgroup
  423. space HORIZ
  424. endgroup
  425. space
  426. group ATTRS MUIA_Group_Columns 2
  427. label "VAxen Path:"
  428. popasl ID 3_PAT ATTRS MUIA_CycleChain 1 HELP '"Select the VAxen executable!"'
  429. endgroup
  430. endgroup 
  431. group 
  432. group frame ATTRS MUIA_Group_Columns 2 label "Hexen.cfg"
  433. button ID 3_FGL ATTRS MUIA_CycleChain 1 command """HexenPortal.rexx LOAD_3""" label "Load Hexen.cfg"
  434. button ID 3_FGS ATTRS MUIA_CycleChain 1 command """HexenPortal.rexx SAVE_3""" label "Save Hexen.cfg"
  435. endgroup
  436. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "Misc,Keys,Mouse/Joy,ChatMacros"
  437. group scroll ATTRS MUIA_Group_Columns 2
  438. label "Mouse Sensitivity:"
  439. slider ID 3_1 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 9
  440. label "Sfx Volume:"
  441. slider ID 3_2 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15
  442. label "Music Volume:"
  443. slider ID 3_3 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 15
  444. label "Gamma Correct:"
  445. slider ID 3_4 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 4
  446. label "Sound Channels:"
  447. slider ID 3_5 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 0 MUIA_Slider_Max 16
  448. label "Screen Blocks:"
  449. slider ID 3_6 ATTRS MUIA_CycleChain 1 MUIA_Slider_Min 3 MUIA_Slider_Max 11
  450. label "Savedir:"
  451. string ID 3_7 ATTRS MUIA_CycleChain 1
  452. label "Messages On:"
  453. group ATTRS MUIA_Group_Columns 2
  454. check ID 3_8 ATTRS MUIA_CycleChain 1
  455. space HORIZ
  456. endgroup
  457. endgroup
  458. group scroll ATTRS MUIA_Group_Columns 2
  459. label "Key Right:"
  460. poplist ID 3_20 ATTRS MUIA_CycleChain 1 labels keys
  461. label "Key Left:"
  462. poplist ID 3_21 ATTRS MUIA_CycleChain 1 labels keys
  463. label "Key Up:"
  464. poplist ID 3_22 ATTRS MUIA_CycleChain 1 labels keys
  465. label "Key Down:"
  466. poplist ID 3_23 ATTRS MUIA_CycleChain 1 labels keys
  467. label "Key Strafe Left:"
  468. poplist ID 3_24 ATTRS MUIA_CycleChain 1 labels keys
  469. label "Key Strafe Right:"
  470. poplist ID 3_25 ATTRS MUIA_CycleChain 1 labels keys
  471. label "Key Jump:"
  472. poplist ID 3_26 ATTRS MUIA_CycleChain 1 labels keys
  473. label "Key Fly Up:"
  474. poplist ID 3_27 ATTRS MUIA_CycleChain 1 labels keys
  475. label "Key Fly Down:"
  476. poplist ID 3_28 ATTRS MUIA_CycleChain 1 labels keys
  477. label "Key Fly Center:"
  478. poplist ID 3_29 ATTRS MUIA_CycleChain 1 labels keys
  479. label "Key Look Up:"
  480. poplist ID 3_30 ATTRS MUIA_CycleChain 1 labels keys
  481. label "Key Look Down:"
  482. poplist ID 3_31 ATTRS MUIA_CycleChain 1 labels keys
  483. label "Key Look Center:"
  484. poplist ID 3_32 ATTRS MUIA_CycleChain 1 labels keys
  485. label "Key Inv Left:"
  486. poplist ID 3_33 ATTRS MUIA_CycleChain 1 labels keys
  487. label "Key Inv Right:"
  488. poplist ID 3_34 ATTRS MUIA_CycleChain 1 labels keys
  489. label "Key Use Artifact:"
  490. poplist ID 3_35 ATTRS MUIA_CycleChain 1 labels keys
  491. label "Key Fire:"
  492. poplist ID 3_36 ATTRS MUIA_CycleChain 1 labels keys
  493. label "Key Use:"
  494. poplist ID 3_37 ATTRS MUIA_CycleChain 1 labels keys
  495. label "Key Strafe:"
  496. poplist ID 3_38 ATTRS MUIA_CycleChain 1 labels keys
  497. label "Key Speed:"
  498. poplist ID 3_39 ATTRS MUIA_CycleChain 1 labels keys
  499. endgroup
  500. group scroll ATTRS MUIA_Group_Columns 2
  501. label "Use Mouse:"
  502. check ID 3_60
  503. label "Mouse Fire:"
  504. cycle ID 3_61 ATTRS MUIA_CycleChain 1 labels mousenr
  505. label "Mouse Strafe:"
  506. cycle ID 3_62 ATTRS MUIA_CycleChain 1 labels mousenr
  507. label "Mouse Forward:"
  508. cycle ID 3_63 ATTRS MUIA_CycleChain 1 labels mousenr
  509. label "Use Joystick:"
  510. check ID 3_70
  511. label "Joy Fire:"
  512. cycle ID 3_71 ATTRS MUIA_CycleChain 1 labels joynr
  513. label "Joy Strafe:"
  514. cycle ID 3_72 ATTRS MUIA_CycleChain 1 labels joynr
  515. label "Joy Use:"
  516. cycle ID 3_73 ATTRS MUIA_CycleChain 1 labels joynr
  517. label "Joy Speed:"
  518. cycle ID 3_74 ATTRS MUIA_CycleChain 1 labels joynr
  519. endgroup
  520. group scroll ATTRS MUIA_Group_Columns 2
  521. label "ChatMacro0:"
  522. string ID 3_80 ATTRS MUIA_CycleChain 1
  523. label "ChatMacro1:"
  524. string ID 3_81 ATTRS MUIA_CycleChain 1
  525. label "ChatMacro2:"
  526. string ID 3_82 ATTRS MUIA_CycleChain 1
  527. label "ChatMacro3:"
  528. string ID 3_83 ATTRS MUIA_CycleChain 1
  529. label "ChatMacro4:"
  530. string ID 3_84 ATTRS MUIA_CycleChain 1
  531. label "ChatMacro5:"
  532. string ID 3_85 ATTRS MUIA_CycleChain 1
  533. label "ChatMacro6:"
  534. string ID 3_86 ATTRS MUIA_CycleChain 1
  535. label "ChatMacro7:"
  536. string ID 3_87 ATTRS MUIA_CycleChain 1
  537. label "ChatMacro8:"
  538. string ID 3_88 ATTRS MUIA_CycleChain 1
  539. label "ChatMacro9:"
  540. string ID 3_89 ATTRS MUIA_CycleChain 1
  541. endgroup
  542. endgroup
  543. endgroup 
  544. endgroup
  545. endgroup 
  546. group 
  547. group REGISTER ATTRS MUIA_CycleChain 1 LABELS "About,Cheats,Credits"
  548. group 
  549. text label "\033c\033bHexenPortal v0.4\033n\n\033cFreely Distributable Emailware\n\n\033cPlease visit my homepage:\nhttp://members.xoom.com/snorslex/\n\nPlease E-Mail me if you like/hate the program!\nSnorsleX@SoftHome.net\n\n\033r©Copyright 1999 Lorens Johansson"
  550. endgroup 
  551. group 
  552. list ID CHEAT TITLE """\033bCheat,\033bDescription""" ATTRS MUIA_CycleChain 1 MUIA_List_Format """MIW=15 BAR,"""
  553. endgroup 
  554. group 
  555. view ATTRS MUIA_CycleChain 1 string "\033c\033bCredits goes to:\n\n\033bRobert Karlsson\033n - Beta Testing and for the name HexenPortal.\n\033bChristian Sauer\033n - For helping me with the keynumbers for Hexen!"
  556. endgroup 
  557. endgroup
  558. endgroup 
  559. endgroup
  560. group ATTRS MUIA_Group_Columns 2
  561. label "Which Port:"
  562. cycle ID WPORT ATTRS MUIA_CycleChain 1 help '"Select which port to play!"' labels "Hexen,WarpHexen,VAxen"
  563. endgroup
  564. group ATTRS MUIA_Group_Columns 4
  565. label "Buffers:"
  566. string ID BUFFS ATTRS MUIA_CycleChain 1 help '"Select how many buffers you want on the drive."'
  567. label "Stack Size:"
  568. string ID STACK ATTRS MUIA_CycleChain 1 help '"Select how big stack you want to use."'
  569. endgroup
  570. group ATTRS MUIA_Group_Columns 3
  571. button ID START ATTRS MUIA_CycleChain 1 help '"Starts Hexen."' COMMAND """HexenPortal.rexx START""" label "Run Hexen"
  572. space HORIZ
  573. button ID QUIT ATTRS MUIA_CycleChain 1 help '"Quits HexenPortal."' COMMAND '"quit"' PORT HexenPortal label "Quit HexenPortal"
  574. endgroup
  575. endwindow
  576. c.0 = 16
  577. c.1 = "\0333VISIT##,Warp to level ##"
  578. c.2 = "\0333TICKER,Ticker to count your framerate"
  579. c.3 = "\0333SHERLOCK,All puzzle pieces"
  580. c.4 = "\0333SHADOWCASTER#,Change class to the # you enter."
  581. c.5 = "\0333SATAN,God mode"
  582. c.6 = "\0333PUKE##,Runs script (01-99 for the ##)"
  583. c.7 = "\0333NRA,All weapons + full mana + full armor"
  584. c.8 = "\0333NOISE,Shows sound info on your screen"
  585. c.9 = "\0333MAPSCO,Shows you lots of neat places you haven't found yet (only in map mode)"
  586. c.10 = "\0333LOCKSMITH,All keys"
  587. c.11 = "\0333INIT,Restarts the level you are on"
  588. c.12 = "\0333INDIANA,25 of each item"
  589. c.13 = "\0333DELIVERANCE,Pig mode ;-)"
  590. c.14 = "\0333CLUBMED,Full health"
  591. c.15 = "\0333CASPER,No clipping"
  592. c.16 = "\0333BUTCHER,Kill all monsters (it tells you how many lives you just ended)"
  593. i = 0
  594. do c.0
  595. i = i + 1
  596. list ID CHEAT INSERT STRING c.i
  597. end
  598. call LoadSettings
  599. return
  600. Start:
  601. address command "cls"
  602. say "-) Getting info from GUI. (-"
  603. address HexenPortal
  604. cycle ID WPORT
  605. PRT2 = result
  606. if PRT2 = "Hexen" then PRT = "1_"
  607. if PRT2 = "WarpHexen" then PRT = "2_"
  608. if PRT2 = "VAxen" then PRT = "3_"
  609. popasl ID PRT||PAT
  610. FULLPATH = result
  611. plats = pos(':',FULLPATH)
  612. DIR = left(FULLPATH,plats)
  613. FULLPATH = delstr(FULLPATH, 1, plats)
  614. done = 0
  615. do until done = 1
  616. plats = pos('/',FULLPATH)
  617. if plats ~= 0 then do
  618. DIR = DIR||left(FULLPATH,plats)
  619. FULLPATH = delstr(FULLPATH, 1, plats)
  620. end
  621. else do
  622. FILE = delstr(FULLPATH, 1, plats)
  623. done = 1
  624. end
  625. end
  626. if PRT = "1_" then do
  627. check ID 1_DIR
  628. if result = 1 then FILE = FILE||" -directgfx"
  629. check ID 1_FPU
  630. if result = 1 then FILE = FILE||" -fpu"
  631. check ID 1_MMU
  632. if result = 1 then FILE = FILE||" -mmu"
  633. check ID 1_NDO
  634. if result = 1 then FILE = FILE||" -nodoublebuffer"
  635. check ID 1_NJO
  636. if result = 1 then FILE = FILE||" -nojoy"
  637. check ID 1_NMO
  638. if result = 1 then FILE = FILE||" -nomouse"
  639. check ID 1_NMU
  640. if result = 1 then FILE = FILE||" -nomusic"
  641. check ID 1_NSF
  642. if result = 1 then FILE = FILE||" -nosfx"
  643. check ID 1_NSO
  644. if result = 1 then FILE = FILE||" -nosound"
  645. check ID 1_CAM
  646. if result = 1 then do
  647. string ID 1_SAM
  648. FILE = FILE||" -amfx "||result
  649. end
  650. check ID 1_CFI
  651. if result = 1 then do
  652. popasl ID 1_SFI
  653. FILE = FILE||" -file "||result
  654. end
  655. check ID 1_CPL
  656. if result = 1 then do
  657. string ID 1_SPL
  658. FILE = FILE||" -playdemo "||result
  659. end
  660. check ID 1_CSK
  661. if result = 1 then do
  662. string ID 1_SSK
  663. FILE = FILE||" -skill "||result
  664. end
  665. check ID 1_CSM
  666. if result = 1 then do
  667. string ID 1_SSM
  668. FILE = FILE||" -smgame "||result
  669. end
  670. check ID 1_CWA
  671. if result = 1 then do
  672. popslider ID 1_SW1
  673. FILE = FILE||" -warp "||result
  674. popslider ID 1_SW2
  675. FILE = FILE||result
  676. end
  677. string ID 1_ADD
  678. FILE = FILE||" "||result
  679. end
  680. if PRT = "2_" then do
  681. check ID 2_CFI
  682. if result = 1 then do
  683. popasl ID 2_SFI
  684. FILE = FILE||" -file "||result
  685. end
  686. string ID 2_ADD
  687. FILE = FILE||" "||result
  688. end
  689. if PRT = "3_" then do
  690. check ID 3_ASL
  691. if result = 1 then FILE = FILE||" -asl"
  692. check ID 3_DIR
  693. if result = 1 then FILE = FILE||" -directcgx"
  694. check ID 3_FPS
  695. if result = 1 then FILE = FILE||" -fps"
  696. check ID 3_JOY
  697. if result = 1 then FILE = FILE||" -joy"
  698. check ID 3_MOU
  699. if result = 1 then FILE = FILE||" -mouse"
  700. check ID 3_MUS
  701. if result = 1 then FILE = FILE||" -music"
  702. check ID 3_NDO
  703. if result = 1 then FILE = FILE||" -nodoublebuffer"
  704. check ID 3_NSF
  705. if result = 1 then FILE = FILE||" -nosfx"
  706. check ID 3_NSO
  707. if result = 1 then FILE = FILE||" -nosound"
  708. check ID 3_WIN
  709. if result = 1 then FILE = FILE||" -window"
  710. check ID 3_CFI
  711. if result = 1 then do
  712. popasl ID 3_SFI
  713. FILE = FILE||" -file "||result
  714. end
  715. check ID 3_CLB
  716. if result = 1 then do
  717. string ID 3_SLB
  718. FILE = FILE||" -lbhack "||result
  719. end
  720. string ID 3_ADD
  721. FILE = FILE||" "||result
  722. end
  723. say "-) Changing Directory. (-"
  724. call PRAGMA(D,DIR)
  725. say "-) Setting Stack Value (-"
  726. Address HexenPortal string ID STACK
  727. newstack = result
  728. say "-) New Stack is ["||newstack||"] (-"
  729. call pragma(S,newstack)
  730. say "-) Caculates Buffers (-"
  731. parse var DIR drive ":" rest
  732. drive = drive || ":"
  733. address command "addbuffers "||drive||" >t:buffers"
  734. if ~open(buff,'t:buffers',"R") then do
  735. say "-» Something went wrong when adding buffers to "||drive||" «-"
  736. exit
  737. end
  738. buffers = readln(buff)
  739. buffers = word(buffers,3)
  740. call close(buff)
  741. address command "delete t:buffers <>NIL: quiet"
  742. say "-) There is "||buffers||" buffers on "||drive||" (-"
  743. Address HexenPortal string ID BUFFS
  744. newbuff = result
  745. buffchange = newbuff - buffers
  746. if buffchange > 0 then do
  747. say "-) Needs to add "||buffchange||" buffers to "||drive||" (-"
  748. say "-) Adding buffers. (-"
  749. end
  750. if buffchange < 0 then do
  751. say "-) Needs to remove "||abs(buffchange)||" buffers from "||drive||" (-"
  752. say "-) Removing buffers. (-"
  753. end
  754. address command "addbuffers "||drive buffchange||" >NIL:"
  755. say "-) The commandline is ["||FILE||"] (-"
  756. say "-) Launching "||PRT2||". (-"
  757. say ""
  758. address command FILE
  759. return
  760. LoadSettings:
  761. if open(set,'HexenPortal.prefs',"R") then do
  762. address HexenPortal
  763. call readln(set)
  764. check ID 1_DIR ATTRS MUIA_Selected result
  765. call readln(set)
  766. check ID 1_FPU ATTRS MUIA_Selected result
  767. call readln(set)
  768. check ID 1_MMU ATTRS MUIA_Selected result
  769. call readln(set)
  770. check ID 1_NDO ATTRS MUIA_Selected result
  771. call readln(set)
  772. check ID 1_NJO ATTRS MUIA_Selected result
  773. call readln(set)
  774. check ID 1_NMO ATTRS MUIA_Selected result
  775. call readln(set)
  776. check ID 1_NMU ATTRS MUIA_Selected result
  777. call readln(set)
  778. check ID 1_NSF ATTRS MUIA_Selected result
  779. call readln(set)
  780. check ID 1_NSO ATTRS MUIA_Selected result
  781. call readln(set)
  782. chk = result
  783. if chk = 0 then string ID 1_SAM ATTRS MUIA_Disabled 1
  784. check ID 1_CAM ATTRS MUIA_Selected chk
  785. call readln(set)
  786. string ID 1_SAM content result
  787. call readln(set)
  788. chk = result
  789. if chk = 0 then popasl ID 1_SFI ATTRS MUIA_Disabled 1
  790. check ID 1_CFI ATTRS MUIA_Selected chk
  791. call readln(set)
  792. popasl ID 1_SFI content result
  793. call readln(set)
  794. chk = result
  795. if chk = 0 then string ID 1_SPL ATTRS MUIA_Disabled 1
  796. check ID 1_CPL ATTRS MUIA_Selected chk
  797. call readln(set)
  798. string ID 1_SPL content result
  799. call readln(set)
  800. chk = result
  801. if chk = 0 then string ID 1_SSK ATTRS MUIA_Disabled 1
  802. check ID 1_CSK ATTRS MUIA_Selected chk
  803. call readln(set)
  804. string ID 1_SSK content result
  805. call readln(set)
  806. chk = result
  807. if chk = 0 then string ID 1_SSM ATTRS MUIA_Disabled 1
  808. check ID 1_CSM ATTRS MUIA_Selected chk
  809. call readln(set)
  810. string ID 1_SSM content result
  811. call readln(set)
  812. chk = result
  813. if chk = 0 then do;popslider ID 1_SW1 ATTRS MUIA_Disabled 1;popslider ID 1_SW2 ATTRS MUIA_Disabled 1;end
  814. check ID 1_CWA ATTRS MUIA_Selected chk
  815. call readln(set)
  816. popslider ID 1_SW1 ATTRS MUIA_Slider_Level result
  817. call readln(set)
  818. popslider ID 1_SW2 ATTRS MUIA_Slider_Level result
  819. call readln(set)
  820. string ID 1_ADD content result
  821. call readln(set)
  822. chk = result
  823. if chk = 0 then popasl ID 2_SFI ATTRS MUIA_Disabled 1
  824. check ID 2_CFI ATTRS MUIA_Selected chk
  825. call readln(set)
  826. popasl ID 2_SFI content result
  827. call readln(set)
  828. string ID 2_ADD content result
  829. call readln(set)
  830. check ID 3_ASL ATTRS MUIA_Selected result
  831. call readln(set)
  832. check ID 3_DIR ATTRS MUIA_Selected result
  833. call readln(set)
  834. check ID 3_FPS ATTRS MUIA_Selected result
  835. call readln(set)
  836. check ID 3_JOY ATTRS MUIA_Selected result
  837. call readln(set)
  838. check ID 3_MOU ATTRS MUIA_Selected result
  839. call readln(set)
  840. check ID 3_MUS ATTRS MUIA_Selected result
  841. call readln(set)
  842. check ID 3_NDO ATTRS MUIA_Selected result
  843. call readln(set)
  844. check ID 3_NSF ATTRS MUIA_Selected result
  845. call readln(set)
  846. check ID 3_NSO ATTRS MUIA_Selected result
  847. call readln(set)
  848. check ID 3_WIN ATTRS MUIA_Selected result
  849. call readln(set)
  850. chk = result
  851. if chk = 0 then popasl ID 3_SFI ATTRS MUIA_Disabled 1
  852. check ID 3_CFI ATTRS MUIA_Selected chk
  853. call readln(set)
  854. popasl ID 3_SFI content result
  855. call readln(set)
  856. chk = result
  857. if chk = 0 then string ID 3_SLB ATTRS MUIA_Disabled 1
  858. check ID 3_CLB ATTRS MUIA_Selected chk
  859. call readln(set)
  860. string ID 3_SLB content result
  861. call readln(set)
  862. string ID 3_ADD content result
  863. call readln(set)
  864. cycle ID WPORT ATTRS MUIA_Cycle_Active result
  865. call readln(set)
  866. string ID BUFFS content result
  867. call readln(set)
  868. string ID STACK content result
  869. call readln(set)
  870. popasl ID 1_PAT content result
  871. call readln(set)
  872. popasl ID 2_PAT content result
  873. call readln(set)
  874. popasl ID 3_PAT content result
  875. call close(set)
  876. end
  877. else do
  878. address HexenPortal
  879. check ID 1_DIR ATTRS MUIA_Selected 1
  880. check ID 1_FPU ATTRS MUIA_Selected 1
  881. check ID 1_MMU ATTRS MUIA_Selected 1
  882. string ID 1_SAM MUIA_Disabled 1
  883. popasl ID 1_SFI MUIA_Disabled 1
  884. string ID 1_SPL MUIA_Disabled 1
  885. string ID 1_SSK MUIA_Disabled 1
  886. string ID 1_SSM MUIA_Disabled 1
  887. popslider ID 1_SW1 MUIA_Disabled 1
  888. popslider ID 1_SW2 MUIA_Disabled 1
  889. popasl ID 2_SFI MUIA_Disabled 1
  890. popasl ID 3_SFI MUIA_Disabled 1
  891. string ID 3_SLB MUIA_Disabled 1
  892. string ID BUFFS content 1000
  893. string ID STACK content 200000
  894. call Req("\033c\033bCould not find HexenPortal.prefs!\033n\n\nJust remember that you can save\nthe prefs in the menu!")
  895. end
  896. return
  897. SaveSettings:
  898. call open(set,'HexenPortal.prefs',"W")
  899. address HexenPortal
  900. check ID 1_DIR
  901. call writeln(set,result)
  902. check ID 1_FPU
  903. call writeln(set,result)
  904. check ID 1_MMU
  905. call writeln(set,result)
  906. check ID 1_NDO
  907. call writeln(set,result)
  908. check ID 1_NJO
  909. call writeln(set,result)
  910. check ID 1_NMO
  911. call writeln(set,result)
  912. check ID 1_NMU
  913. call writeln(set,result)
  914. check ID 1_NSF
  915. call writeln(set,result)
  916. check ID 1_NSO
  917. call writeln(set,result)
  918. check ID 1_CAM
  919. call writeln(set,result)
  920. string ID 1_SAM
  921. call writeln(set,result)
  922. check ID 1_CFI
  923. call writeln(set,result)
  924. popasl ID 1_SFI
  925. call writeln(set,result)
  926. check ID 1_CPL
  927. call writeln(set,result)
  928. string ID 1_SPL
  929. call writeln(set,result)
  930. check ID 1_CSK
  931. call writeln(set,result)
  932. string ID 1_SSK
  933. call writeln(set,result)
  934. check ID 1_CSM
  935. call writeln(set,result)
  936. string ID 1_SSM
  937. call writeln(set,result)
  938. check ID 1_CWA
  939. call writeln(set,result)
  940. popslider ID 1_SW1
  941. call writeln(set,result)
  942. popslider ID 1_SW2
  943. call writeln(set,result)
  944. string ID 1_ADD
  945. call writeln(set,result)
  946. check ID 2_CFI
  947. call writeln(set,result)
  948. popasl ID 2_SFI
  949. call writeln(set,result)
  950. string ID 2_ADD
  951. call writeln(set,result)
  952. check ID 3_ASL
  953. call writeln(set,result)
  954. check ID 3_DIR
  955. call writeln(set,result)
  956. check ID 3_FPS
  957. call writeln(set,result)
  958. check ID 3_JOY
  959. call writeln(set,result)
  960. check ID 3_MOU
  961. call writeln(set,result)
  962. check ID 3_MUS
  963. call writeln(set,result)
  964. check ID 3_NDO
  965. call writeln(set,result)
  966. check ID 3_NSF
  967. call writeln(set,result)
  968. check ID 3_NSO
  969. call writeln(set,result)
  970. check ID 3_WIN
  971. call writeln(set,result)
  972. check ID 3_CFI
  973. call writeln(set,result)
  974. popasl ID 3_SFI
  975. call writeln(set,result)
  976. check ID 3_CLB
  977. call writeln(set,result)
  978. string ID 3_SLB
  979. call writeln(set,result)
  980. string ID 3_ADD
  981. call writeln(set,result)
  982. cycle ID WPORT
  983. WhichP = result
  984. if WhichP = "Hexen" then call writeln(set,"0")
  985. if WhichP = "WarpHexen" then call writeln(set,"1")
  986. if WhichP = "VAxen" then call writeln(set,"2")
  987. string ID BUFFS
  988. call writeln(set,result)
  989. string ID STACK
  990. call writeln(set,result)
  991. popasl ID 1_PAT
  992. call writeln(set,result)
  993. popasl ID 2_PAT
  994. call writeln(set,result)
  995. popasl ID 3_PAT
  996. call writeln(set,result)
  997. call close(set)
  998. return
  999. Tags:
  1000. MUIA_Application_Sleep = 0x80425711
  1001. MUIA_AppMessage = 0x80421955
  1002. MUIA_Cycle_Active = 0x80421788
  1003. MUIA_CycleChain = 0x80421ce7
  1004. MUIA_Disabled = 0x80423661
  1005. MUIA_Group_Columns = 0x8042f416
  1006. MUIA_Group_Horiz = 0x8042536b
  1007. MUIA_Group_Rows = 0x8042b68f
  1008. MUIA_List_Format = 0x80423c0a
  1009. MUIA_Menuitem_Shortcut = 0x80422030
  1010. MUIA_Menuitem_Title = 0x804218be
  1011. MUIA_Radio_Active = 0x80429b41
  1012. MUIA_Selected = 0x8042654b
  1013. MUIA_ShowMe = 0x80429ba8
  1014. MUIA_Slider_Level = 0x8042ae3a
  1015. MUIA_Slider_Max = 0x8042d78a
  1016. MUIA_Slider_Min = 0x8042e404
  1017. MUIA_String_Contents = 0x80428ffd
  1018. MUIA_Weight = 0x80421d1f
  1019. MUIA_Window_DepthGadget = 0x80421923
  1020. MUIA_Window_NoMenus = 0x80429df5
  1021. MUIA_Window_ScreenTitle = 0x804234b0
  1022. MUIA_Window_SizeGadget = 0x8042e33d
  1023. MUIM_Application_AboutMUI = 0x8042d21d
  1024. MUIM_Application_OpenConfigWindow = 0x804299ba
  1025. TRUE = 1
  1026. FALSE = 0
  1027. R='0A'X
  1028. keys = "9-Tab,13-Return/Enter,27-Escape,29-*UNKNOWN*,31-*UNKNOWN*,32-Space,39-',42-Num_*,43-+/Num_+,44-Comma,45-Minus/Num_Minus,46-./Num_.,47-Num_/,48-0,49-1,50-2,51-3,52-4,53-5,54-6,55-7,56-8,57-9,60-<,61-*UNKNOWN*,63-*UNKNOWN*,64-*UNKNOWN*,68-*UNKNOWN*,71-Num_6,73-Num_9,79-Num_4,81-Num_7,82-Num_3,83-Num_1,90-*UNKNOWN*,91-*UNKNOWN*,92-BackSpace,93-*UNKNOWN*,96-~,97-A,98-B,99-C,100-D,101-E,102-F,103-G,104-H,105-I,106-J,107-K,108-L,109-M,110-N,111-O,112-P,113-Q,114-R,115-S,116-T,117-U,118-V,119-W,120-X,121-Y,122-Z,157-Ctrl/Right_Amiga,172-Arrow_Left/Num_4,173-Arrow_Up/Num_8,174-Arrow_Right/Num_6,175-Arrow_Down/Num_2,182-Right_Shift,184-Alt,187-F1,188-F2,189-F3,190-F4,191-F5,192-F6,193-F7,194-F8,195-F9,196-F10,199-Num_7,201-Num_9,207-Num_1,209-Num_3,210-Num_0,211-Num_./Del,216-Help,254-Left_Shift,255-Num_/,"
  1029. keys_Hexen = "0-(Tilde),15-Num_0,16-Q,17-W,18-E,19-R,20-T,21-Y,22-U,23-I,24-O,25-P,26-[,27-],29-Num_1,30-Num_2,31-Num_3,32-A,33-S,34-D,35-F,36-G,37-H,38-J,39-K,40-L,41-*UNKNOWN*,42-*UNKNOWN*,43-*UNKNOWN*,45-Num_4,46-Num_5,47-Num_6,48-<,49-Z,50-X,51-C,52-V,53-B,54-N,55-M,56-(Comma),57-.,58-(Minus),60-Num_.,61-Num_7,62-Num_8,63-Num_9,64-Space,65-Backspace,66-Tab,67-Num_Enter,68-Return,69-Escape,70-Del,74-Num_(Minus),76-Arrow_Up,77-Arrow_Down,78-Arrow_Right,79-Arrow_Left,80-F1,81-F2,82-F3,83-F4,84-F5,85-F6,86-F7,87-F8,88-F9,89-F10,90-Num_[,91-Num_],92-Num_/,93-Num_*,94-Num_+,95-Help,96-Left_Shift,97-Right_Shift,98-Caps_Lock,99-Ctrl,100-Left_Alt,101-Right_Alt,102-Left_Amiga,103-Right_Amiga,"
  1030. mousenr = "OFF,0-Left,1-Right,2-Middle"
  1031. joynr = "OFF,0-*UNKNOWN*,1-*UNKNOWN*,2-*UNKNOWN*,3-*UNKNOWN*"
  1032. joynr_Hexen = "OFF,0-Blue,1-Red,2-Yellow,3-Green" 
  1033. Return 0
  1034. Config:
  1035. WINID = arg(2)
  1036. keys2 = keys
  1037. if WINID = "1_" then do
  1038. keys2 = keys_Hexen
  1039. end
  1040. address HexenPortal
  1041. popasl ID WINID||PAT
  1042. PATH = result
  1043. plats = pos(':',PATH)
  1044. DIR = left(PATH,plats)
  1045. PATH = delstr(PATH, 1, plats)
  1046. done = 0
  1047. do until done = 1
  1048. plats = pos('/',PATH)
  1049. if plats ~= 0 then do
  1050. DIR = DIR||left(PATH,plats)
  1051. PATH = delstr(PATH, 1, plats)
  1052. end
  1053. else done = 1
  1054. end
  1055. if WINID = "3_" then do
  1056. if ~exists(DIR||"VAxen.cfg") then do
  1057. call Req("\033c\033bCould not find VAxen.cfg!\033n\n\nEither it does not exists or the\npath to Hexen is wrong!")
  1058. return
  1059. end
  1060. end
  1061. else do
  1062. if ~exists(DIR||"Hexen.cfg") then do
  1063. call Req("\033c\033bCould not find Hexen.cfg!\033n\n\nEither it does not exists or the\npath to Hexen is wrong!")
  1064. return
  1065. end
  1066. end
  1067. address HexenPortal
  1068. button ID WINID||FGL ATTRS MUIA_Disabled 1
  1069. button ID WINID||FGS ATTRS MUIA_Disabled 1
  1070. if WINID = "3_" then do
  1071. call open(file,DIR||"VAxen.cfg","R")
  1072. end
  1073. else do
  1074. call open(file,DIR||"Hexen.cfg","R")
  1075. end
  1076. i = 1
  1077. do until eof(file)
  1078. line.i = readln(file)
  1079. i = i + 1
  1080. end
  1081. line.0 = i - 1
  1082. lors = left(arg(1),1)
  1083. call ch("mouse_sensitivity",WINID||1,lors,s)
  1084. call ch("sfx_volume",WINID||2,lors,s)
  1085. call ch("music_volume",WINID||3,lors,s)
  1086. call ch("usegamma",WINID||4,lors,s)
  1087. call ch("snd_channels",WINID||5,lors,s)
  1088. call ch("screenblocks",WINID||6,lors,s)
  1089. if WINID = "1_"|WINID = "3_" then do
  1090. call ch("savedir",WINID||7,lors)
  1091. call ch("messageson",WINID||8,lors,K)
  1092. end
  1093. call LSKey("key_right",WINID||20)
  1094. call LSKey("key_left",WINID||21)
  1095. call LSKey("key_up",WINID||22)
  1096. call LSKey("key_down",WINID||23)
  1097. call LSKey("key_strafeleft",WINID||24)
  1098. call LSKey("key_straferight",WINID||25)
  1099. call LSKey("key_jump",WINID||26)
  1100. call LSKey("key_flyup",WINID||27)
  1101. call LSKey("key_flydown",WINID||28)
  1102. call LSKey("key_flycenter",WINID||29)
  1103. call LSKey("key_lookup",WINID||30)
  1104. call LSKey("key_lookdown",WINID||31)
  1105. call LSKey("key_lookcenter",WINID||32)
  1106. call LSKey("key_invleft",WINID||33)
  1107. call LSKey("key_invright",WINID||34)
  1108. call LSKey("key_useartifact",WINID||35)
  1109. call LSKey("key_fire",WINID||36)
  1110. call LSKey("key_use    ",WINID||37)
  1111. call LSKey("key_strafe    ",WINID||38)
  1112. call LSKey("key_speed",WINID||39)
  1113. if WINID = "1_"|WINID = "3_" then do
  1114. call ch("use_mouse",WINID||60,lors,K)
  1115. call ch("mouseb_fire",WINID||61,lors,"m/j")
  1116. call ch("mouseb_strafe",WINID||62,lors,"m/j")
  1117. call ch("mouseb_forward",WINID||63,lors,"m/j")
  1118. if WINID = "1_" then call ch("mouseb_jump",WINID||64,lors,"m/j")
  1119. call ch("use_joystick",WINID||70,lors,K)
  1120. call ch("joyb_fire",WINID||71,lors,"m/j")
  1121. call ch("joyb_strafe",WINID||72,lors,"m/j")
  1122. call ch("joyb_use",WINID||73,lors,"m/j")
  1123. call ch("joyb_speed",WINID||74,lors,"m/j")
  1124. if WINID = "1_" then call ch("joyb_jump",WINID||75,lors,"m/j")
  1125. end
  1126. call ch("chatmacro0",WINID||80,lors)
  1127. call ch("chatmacro1",WINID||81,lors)
  1128. call ch("chatmacro2",WINID||82,lors)
  1129. call ch("chatmacro3",WINID||83,lors)
  1130. call ch("chatmacro4",WINID||84,lors)
  1131. call ch("chatmacro5",WINID||85,lors)
  1132. call ch("chatmacro6",WINID||86,lors)
  1133. call ch("chatmacro7",WINID||87,lors)
  1134. call ch("chatmacro8",WINID||88,lors)
  1135. call ch("chatmacro9",WINID||89,lors)
  1136. call close(file)
  1137. if hexport = "VAxen" then do
  1138. call open(file,DIR||"VAxen.cfg","R")
  1139. end
  1140. else do
  1141. call open(file,DIR||"Hexen.cfg","R")
  1142. end
  1143. i = 1
  1144. do until i = line.0
  1145. call writeln(file,line.i)
  1146. i = i + 1
  1147. end
  1148. call close(file)
  1149. address HexenPortal
  1150. button ID WINID||FGL ATTRS MUIA_Disabled 0
  1151. button ID WINID||FGS ATTRS MUIA_Disabled 0
  1152. return 0
  1153. LSKey:
  1154. nr1 = arg(1)
  1155. nr2 = arg(2)
  1156. if lors = "L" then do
  1157. call ch(nr1,nr2,lors,"key")
  1158. sak = result
  1159. plats = pos(""||sak||"",keys2)
  1160. if plats ~= 0 then do
  1161. len = length(keys2)
  1162. antal = len - plats + 1
  1163. keyjox = right(keys2,antal)
  1164. sak = right(keys2,antal)
  1165. sak = left(sak,pos(',',sak)-1)
  1166. end
  1167. poplist ID stringid content sak
  1168. end
  1169. if lors = "S" then do
  1170. poplist ID nr2
  1171. sak = result
  1172. plats = pos(sak,keys2)
  1173. len = length(keys2)
  1174. antal = len - plats + 1
  1175. sak = right(keys2,antal)
  1176. nysak = left(sak,pos('-',sak)-1)
  1177. call ch(nr1,nr2,lors,"key",nysak)
  1178. end
  1179. return
  1180. ch:
  1181. searchingfor = arg(1)
  1182. stringid = arg(2)
  1183. saveorload = arg(3)
  1184. ischat = pos("chatmacro",searchingfor)
  1185. type = arg(4)
  1186. key = ""
  1187. i = 1
  1188. do until i = line.0
  1189. if upper(left(line.i,length(searchingfor))) = upper(searchingfor) then do
  1190. if  ischat then parse var line.i RUBBISH '"' setting '"'
  1191. if ~ischat then parse var line.i RUBBISH "    " setting
  1192. if ~ischat then setting = Compress(setting,"    , ")
  1193. WASATLINE = i
  1194. if saveorload = "L" then do
  1195. select
  1196. when type = "S" then Address HexenPortal slider ID stringid ATTRS MUIA_Slider_Level setting
  1197. when type = "C" then Address HexenPortal cycle ID stringid ATTRS MUIA_Cycle_Active setting
  1198. when type = "K" then Address HexenPortal check ID stringid ATTRS MUIA_Selected setting
  1199. when type = "key" then key = setting
  1200. when type = "m/j" then Address HexenPortal cycle ID stringid ATTRS MUIA_Cycle_Active setting + 1
  1201. otherwise Address HexenPortal string ID stringid content Setting
  1202. end
  1203. end
  1204. if saveorload = "S" then do
  1205. select
  1206. when type = "S" then address HexenPortal slider ID stringid
  1207. when type = "C" then address HexenPortal cycle ID stringid
  1208. when type = "K" then address HexenPortal check ID stringid
  1209. when type = "key" then address HexenPortal poplist ID stringid
  1210. when type = "m/j" then address HexenPortal cycle ID stringid
  1211. otherwise Address HexenPortal string ID stringid
  1212. end
  1213. changeto=result
  1214. if type = "m/j" then do
  1215. changeto = left(changeto,1)
  1216. if changeto = "O" then changeto = -1
  1217. end
  1218. if saveorload = "S" then
  1219. if type = "key" then
  1220. changeto = arg(5)
  1221. if searchingfor = "key_use    " then searchingfor = "key_use"
  1222. if searchingfor = "key_strafe    " then searchingfor = "key_strafe"
  1223. if ~ischat then line.i = searchingfor"        "changeto
  1224. if  ischat then line.i = searchingfor"        "'"'changeto'"'
  1225. end
  1226. end
  1227. i = i + 1
  1228. end
  1229. return(key)
  1230. Req:
  1231. txt = arg(1)
  1232. window ID REQUE ATTRS MUIA_Window_DepthGadget 0 MUIA_Window_NoMenus 1 MUIA_Window_SizeGadget 0
  1233. text label txt
  1234. space
  1235. button ID OK COMMAND '"window ID REQUE close"' PORT HexenPortal ATTRS MUIA_CycleChain 1 label "OK"
  1236. endwindow
  1237. return
  1238.